package org.farm.product.domain.bo;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author Frank Zou
 * @version v0.0.1
 * @date 2025/4/22
 * @description
 */
@Data
public class ProductSkuBo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * SKU ID。
     */
    private Long id;

    /**
     * SPU 外键 ID。
     */
    private Long spuId;

    /**
     * SKU 名称。
     */
    private String name;

    /**
     * 图片地址。
     */
    private String images;

    /**
     * 商品价格。
     */
    private BigDecimal price;

    /**
     * 商品重量。
     */
    private BigDecimal weight;

    /**
     * 商品体积。
     */
    private BigDecimal volume;

    /**
     * 商品状态（0： disabled / 1： enabled）
     */
    private Integer status;

    /**
     * 版本号。
     */
    private Integer lockVersion;

    /**
     * 创建时间。
     */
    private Date createdAt;

    /**
     * 创建人。
     */
    private Long createdBy;

    /**
     * 修改时间。
     */
    private Date updatedAt;

    /**
     * 修改人。
     */
    private Long updatedBy;

    /**
     * 是否删除。
     */
    private Integer deleted;


    /**
     * 商品 SPU 对象。
     */
    private ProductSpuBo productSpu;

    /**
     * 商品库存对象。
     */
    private ProductSkuStockBo productSkuStock;

    /**
     * 商品属性值列表。
     */
    private List<ProductSpuSkuAttributeValueBo> attributeValues;
}